<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
     const p1 =new Promise((resolve,reject)=>{
        try{
            console.log('请求A数据');
            setTimeout(()=>{
                console.log('请求A结束');
                resolve('A数据')
            },1500)
        }catch(a){
            reject(a.messagr)
        }
     })


     const p2 =new Promise((resolve,reject)=>{
        try{
            console.log('请求B数据');
            setTimeout(()=>{
                console.log('请求B结束');
                resolve('B数据')
            },2500)
        }catch(a){
            reject(a.messagr)
        }
     })

     const p3 =new Promise((resolve,reject)=>{
        try{
            console.log('请求C数据');
            setTimeout(()=>{
                console.log('请求c结束');
                resolve('C数据')
            },2000)
        }catch(a){
            reject(a.messagr)
        }
     })
/*
Promise.all方法：
接受一个数组（原则上是iterable）
all方法默认返回pending状态的promise实例
当所有的prmise实例全部完成，返回fulfilled状态的实例，值为所有成功的值组成的数组
当其中有一个Primise实例执行失败，则all方法返回失败promise实例，值是这个错误值

*/ 


     const result = Promise.all([p1, p2, p3]);
    console.log("result", result);
    result.then(value => {
      console.log("全部完成");
    }).catch(reason => {
      console.log("有错误的", reason);
    })
    </script>
</body>
</html>